package example.simple_mindmap.common.utils;

import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.ZipUtil;

/**
 * @Program: 8.mindmap
 * @Author: 海里的鱼
 * @Create: 2024-08-24 15:07
 * @Name: TODO
 * @Desc: TODO
 */
public class GZipUtil {

    /** ---------------------------------------------------------------------------------------------------------------------
     * @Method  : 压缩
     * @Describe: TODO
     **/
     public static String compressStrByBase64(String str){
        // 将文本转换为字节数组
        byte[] originalBytes = str.getBytes();
        // 压缩字节数组
        byte[] compressedBytes = ZipUtil.gzip(originalBytes);
        // Base64编码
        return Base64.encode(compressedBytes);
    }

    /** ---------------------------------------------------------------------------------------------------------------------
     * @Method  : 解压
     * @Describe: TODO
     **/
     public static String deCompressStrByBase64(String str){
        // 使用 Hutool 解码 Base64 字符串
        byte[] decodedBytes = Base64.decode(str);
        // 解压字节数组
        byte[] decompressedBytes = ZipUtil.unGzip(decodedBytes);
        return new String(decompressedBytes);
    }
}
